#pragma once

#include "EventType.h"
#include "Event.h"
#include <hash_map>


class EventSet
{
public:
	EventSet(void);
	~EventSet(void);

	Event* addEvent(EventType t);
	void removeEvent(EventType t);
	Event* findEvent(EventType t);
	Event* getEvent(EventType t);

	void fireEvent(EventType t, EventParams& ep);

private:
	typedef stdext::hash_map<EventType,Event*> EventContainer;
	EventContainer m_events;
};
